Generally, in lexical analysis, the first character to be processed is checked for token type determination, followed by detailed determination.
In a relational database management system, a ratio of a processing time required for lexical analysis to the entire processing time is small, so that a processing speed of the lexical analysis is not a big problem.
However, in so-called an in-memory database, a processing speed of an I/O device is high, so that an increase in the processing speed required for the lexical analysis is required.
A jump table (branch destination table) is often used in multi-branch determination syntax used in the lexical analysis. However, a jump mode of the jump table is a register indirect jump in which a branch destination address is loaded from a memory into a register, so that a branch destination is not fixed until the memory is read. This makes it impossible to speculatively execute the branch destination, with the result that it takes much processing time due to waiting for pipeline flush or reload.